In traditional messaging systems, a new message from a participant in a messaging thread appears at the bottom of the thread, underneath previously received messages. While such systems may be adequate for discussions that proceed in a linear fashion, such systems are inconvenient in cases where a participant desires to respond to a message that appears earlier in a message thread instead of responding to the last message received. For example, if a participant forgets to respond to an earlier question or has a desire to supplement a previous answer, traditional systems would require the participant to answer the forgotten question or to supplement previous information by entering a message at the bottom of the message thread, potentially requiring the participant and other participants in the thread to repeatedly scroll up and down a display screen to reference the new information. The need to scroll back and forth between recent and previous messages is frustrating to participants in a messaging thread, inefficient, confusing, and generally harmful to the user experience. These and other problems exist with traditional messaging systems.